/**
 * Copyright (C) 2011 Moss Computing <support@mosscomputing.com>
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *         http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.oslef.model;

import java.math.BigDecimal;
import java.util.Map;

public final class Application {

	public enum Gender{MALE, FEMALE}

	public static final class UsaAddress {
		public String lineOne;
		public String lineTwo;
		public String city;
		public String state;
		public String zip5;
		public String zip4;
	}
	
	public static final class Reference {
		public String name;
		public String homePhoneNumber;
		public String workPhoneNumber;
	}
	
	public static enum PayFrequency {
		WEEKLY,
		BIWEEKLY,
		SEMIMONTHLY,
		MONTHLY,
	}
	
	public static final class Income {
		
		public String employerName;
		public PayFrequency payFrequency;
		public BigDecimal amount;
		public SimpleYMD nextPayDate;
		public String workShiftHours;
		public Integer monthsOfService;
		public Boolean hasDirectDeposit;
	}
	
	public String customerId;
	public String ssn;
	public String firstName;
	public String lastName;
	public String middleInitial;
	public String race;
	public Gender gender;
	public BigDecimal heightInches;
	
	public Map<String, UsaAddress> residences;
	public String driversLicenseNumber;
	public Map<String, String> phoneNumbers;
	public SimpleYMD dateOfBirth;
	public String emailAddress;
	
	public Map<String, Reference> references;
	public Map<String, Income> incomes;
}
